package com.css.zfzx.fwsjcj.modules.taskmanage.taskfrom.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;

import org.springframework.context.annotation.Bean;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * 城镇住宅
 */
@Entity
@Table(name = "fw_ctiy_house", schema = "fwsjcj", catalog = "")
public class FwCtiyHouseEntity {
    /**
     * 主键ID
     */
    private String fwId;
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 建筑物编号
     */
    @Excel(name = "建筑物编号", width = 25)
    private String buildingCode;
    /**
     * 建筑名称
     */
    @Excel(name = "建筑名称", width = 20)
    private String buildingName;
    /**
     * 建筑物经度
     */
    @Excel(name = "建筑物经度", width = 20)
    private String bulidingLongitude;
    /**
     * 建筑物纬度
     */
    @Excel(name = "建筑物纬度", width = 20)
    private String bulidingLatitude;
    /**
     * 被调查建筑分类0、既有1、新增2、已拆除
     */
    @Excel(name = "被调查建筑分类", width = 15)
    private String bulidingType;
    /**
     * 所属省份
     */
    @Excel(name = "所属省份", width = 15)
    private String belongtoProvince;
    /**
     * 所属城市
     */
    @Excel(name = "所属城市", width = 15)
    private String belongtoCity;
    /**
     * 所属区
     */
    @Excel(name = "所属区", width = 15)
    private String belongtoArea;
    /**
     * 所属街道
     */
    @Excel(name = "所属街道", width = 20)
    private String belongtoStreet;
    /**
     * 所属镇
     */
    private String belongtoTown;
    /**
     * 所属村
     */
    private String belongtoVillage;
    /**
     * 小区门牌号
     */
    @Excel(name = "小区门牌号", width = 20)
    private String houseNumber;
    /**
     * 小区名称
     */
    @Excel(name = "小区名称", width = 20)
    private String areaName;
    /***
     * 建筑地址
     */
    @Excel(name = "建筑地址", width = 35)
    private String buildingAddress;
    /**
     * 产权性质
     */
    private String propertyNature;
    /**
     * 产权单位
     */
    @Excel(name = "产权单位", width = 20)
    private String propertyUnit;
    /**
     * 结构类型1、砖混2、底层混凝土柱-上部砖混3、钢筋混凝土
     * 4、砖木5、钢结构6、木结构7、其它
     */
    @Excel(name = "结构类型", width = 15)
    private String structureType;
    /**
     * 结构类型其他
     */
    @Excel(name = "结构类型其他", width = 15)
    private String structureTypeOther;
    /**
     * 建筑面积
     */
    @Excel(name = "建筑面积", width = 15)
    private Integer buildingArea;
    /**
     * 建筑上层数
     */
    @Excel(name = "建筑上层数", width = 15)
    private Integer buildingUpNum;
    /***
     * 建筑下层数
     */
    @Excel(name = "建筑下层数", width = 15)
    private Integer buildingDown;
    /**
     * 建筑高度
     */
    @Excel(name = "建筑高度", width = 15)
    private Integer buildingHight;
    /**
     * 建造时间
     */
    @Excel(name = "建造时间", width = 15)
    private String buildingTime;
    /**
     * 户数
     */
    @Excel(name = "户数", width = 15)
    private Integer houseNum;
    /**
     * 人数
     */
    @Excel(name = "人数", width = 15)
    private Integer presonNum;
    /**
     * 原设防烈度
     */
    @Excel(name = "原设防烈度", width = 15)
    private String oldFortificationIntensity;
    /**
     * 是否进行过改造，改造时间
     */
    @Excel(name = "是否进行过改造，改造时间", width = 30)
    private String isReform;
    /**
     * 是否进行过抗震加固，抗震加固时间
     */
    @Excel(name = "是否进行过抗震加固，抗震加固时间", width = 30)
    private String isSeismicReinforce;
    /**
     * 现设防烈度
     */
    @Excel(name = "现设防烈度", width = 15)
    private String nowFortificationIntensity;
    /**
     * 有无明显可见的裂缝、变形、倾斜等
     */
    @Excel(name = "有无明显可见的裂缝、变形、倾斜等", width = 30)
    private String isDamage;
    /**
     * 有无物业管理
     */
    @Excel(name = "有无物业管理", width = 15)
    private String isManagement;
    /**
     * 初步结论
     */
    @Excel(name = "初步结论", width = 20)
    private String result;
    /**
     * 图片
     */
    @Excel(name = "图片URL", width = 60)
    private String image;
    /**
     * 信息采集人
     */
    @Excel(name = "信息采集人", width = 15)
    private String collecPerson;
    /**
     * 单位
     */
    private String unit;
    /**
     * 采集日期
     */
    @Excel(name = "采集日期", format = "yyyy-MM-dd", width = 20)
    private Date collecDate;
    /**
     * 原设防类型
     */
    private String oldFortificationType;
    /**
     * 现设防类型
     */
    private String nowFortificationType;
    /**
     * 房屋用途
     */
    private String housePurpose;
    /**
     * 保存状态0、暂存1、提交
     */
    private String saveStatus;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 创建人id
     */
    private String createUserId;
    /**
     * 是否填完0、否1、是
     */
    private String isSaveAll;
    /**
     * 是否有效,0:无效,1:有效
     */
    private String isValid;
    /**
     * 审核状态0、未提交1、未审核2、审核未通过3、审核通过
     */
    @Excel(name = "审核状态", replace = {"未提交_0", "未审核_1", "审核未通过_2", "审核通过_3"}, width = 15)
    private String spType;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 质检状态
     * 0未完成审核不能质检 1未质检 2质检通过 3质检失败
     */
    private String qualityStatus;
    /**
     * 质检原因 分号分隔
     */
    private String qualityReason;

    private String reason;

    /**
     * 修改人
     */
    private String updateUser;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 退回意见
     */
    private String backOpinion;


    @Id
    @Column(name = "fw_id")
    public String getFwId() {
        return fwId;
    }

    public void setFwId(String fwId) {
        this.fwId = fwId;
    }

    @Basic
    @Column(name = "task_id")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "building_code")
    public String getBuildingCode() {
        return buildingCode;
    }

    public void setBuildingCode(String buildingCode) {
        this.buildingCode = buildingCode;
    }

    @Basic
    @Column(name = "buliding_longitude")
    public String getBulidingLongitude() {
        return bulidingLongitude;
    }

    public void setBulidingLongitude(String bulidingLongitude) {
        this.bulidingLongitude = bulidingLongitude;
    }

    @Basic
    @Column(name = "buliding_latitude")
    public String getBulidingLatitude() {
        return bulidingLatitude;
    }

    public void setBulidingLatitude(String bulidingLatitude) {
        this.bulidingLatitude = bulidingLatitude;
    }

    @Basic
    @Column(name = "buliding_type")
    public String getBulidingType() {
        return bulidingType;
    }

    public void setBulidingType(String bulidingType) {
        this.bulidingType = bulidingType;
    }

    @Basic
    @Column(name = "belongto_province")
    public String getBelongtoProvince() {
        return belongtoProvince;
    }

    public void setBelongtoProvince(String belongtoProvince) {
        this.belongtoProvince = belongtoProvince;
    }

    @Basic
    @Column(name = "belongto_city")
    public String getBelongtoCity() {
        return belongtoCity;
    }

    public void setBelongtoCity(String belongtoCity) {
        this.belongtoCity = belongtoCity;
    }

    @Basic
    @Column(name = "belongto_area")
    public String getBelongtoArea() {
        return belongtoArea;
    }

    public void setBelongtoArea(String belongtoArea) {
        this.belongtoArea = belongtoArea;
    }

    @Basic
    @Column(name = "belongto_street")
    public String getBelongtoStreet() {
        return belongtoStreet;
    }

    public void setBelongtoStreet(String belongtoStreet) {
        this.belongtoStreet = belongtoStreet;
    }

    @Basic
    @Column(name = "belongto_town")
    public String getBelongtoTown() {
        return belongtoTown;
    }

    public void setBelongtoTown(String belongtoTown) {
        this.belongtoTown = belongtoTown;
    }

    @Basic
    @Column(name = "property_nature")
    public String getPropertyNature() {
        return propertyNature;
    }

    public void setPropertyNature(String propertyNature) {
        this.propertyNature = propertyNature;
    }

    @Basic
    @Column(name = "belongto_village")
    public String getBelongtoVillage() {
        return belongtoVillage;
    }

    public void setBelongtoVillage(String belongtoVillage) {
        this.belongtoVillage = belongtoVillage;
    }

    @Basic
    @Column(name = "house_number")
    public String getHouseNumber() {
        return houseNumber;
    }

    public void setHouseNumber(String houseNumber) {
        this.houseNumber = houseNumber;
    }

    @Basic
    @Column(name = "area_name")
    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    @Basic
    @Column(name = "building_name")
    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    @Basic
    @Column(name = "building_address")
    public String getBuildingAddress() {
        return buildingAddress;
    }

    public void setBuildingAddress(String buildingAddress) {
        this.buildingAddress = buildingAddress;
    }

    @Basic
    @Column(name = "property_unit")
    public String getPropertyUnit() {
        return propertyUnit;
    }

    public void setPropertyUnit(String propertyUnit) {
        this.propertyUnit = propertyUnit;
    }

    @Basic
    @Column(name = "structure_type")
    public String getStructureType() {
        return structureType;
    }

    public void setStructureType(String structureType) {
        this.structureType = structureType;
    }

    @Basic
    @Column(name = "building_area")
    public Integer getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Integer buildingArea) {
        this.buildingArea = buildingArea;
    }

    @Basic
    @Column(name = "building_up_num")
    public Integer getBuildingUpNum() {
        return buildingUpNum;
    }

    public void setBuildingUpNum(Integer buildingUpNum) {
        this.buildingUpNum = buildingUpNum;
    }

    @Basic
    @Column(name = "building_down")
    public Integer getBuildingDown() {
        return buildingDown;
    }

    public void setBuildingDown(Integer buildingDown) {
        this.buildingDown = buildingDown;
    }

    @Basic
    @Column(name = "building_hight")
    public Integer getBuildingHight() {
        return buildingHight;
    }

    public void setBuildingHight(Integer buildingHight) {
        this.buildingHight = buildingHight;
    }

    @Basic
    @Column(name = "building_time")
    public String getBuildingTime() {
        return buildingTime;
    }

    public void setBuildingTime(String buildingTime) {
        this.buildingTime = buildingTime;
    }

    @Basic
    @Column(name = "house_num")
    public Integer getHouseNum() {
        return houseNum;
    }

    public void setHouseNum(Integer houseNum) {
        this.houseNum = houseNum;
    }

    @Basic
    @Column(name = "preson_num")
    public Integer getPresonNum() {
        return presonNum;
    }

    public void setPresonNum(Integer presonNum) {
        this.presonNum = presonNum;
    }

    @Basic
    @Column(name = "old_fortification_intensity")
    public String getOldFortificationIntensity() {
        return oldFortificationIntensity;
    }

    public void setOldFortificationIntensity(String oldFortificationIntensity) {
        this.oldFortificationIntensity = oldFortificationIntensity;
    }

    @Basic
    @Column(name = "is_reform")
    public String getIsReform() {
        return isReform;
    }

    public void setIsReform(String isReform) {
        this.isReform = isReform;
    }

    @Basic
    @Column(name = "is_seismic_reinforce")
    public String getIsSeismicReinforce() {
        return isSeismicReinforce;
    }

    public void setIsSeismicReinforce(String isSeismicReinforce) {
        this.isSeismicReinforce = isSeismicReinforce;
    }

    @Basic
    @Column(name = "now_fortification_intensity")
    public String getNowFortificationIntensity() {
        return nowFortificationIntensity;
    }

    public void setNowFortificationIntensity(String nowFortificationIntensity) {
        this.nowFortificationIntensity = nowFortificationIntensity;
    }

    @Basic
    @Column(name = "is_damage")
    public String getIsDamage() {
        return isDamage;
    }

    public void setIsDamage(String isDamage) {
        this.isDamage = isDamage;
    }

    @Basic
    @Column(name = "is_management")
    public String getIsManagement() {
        return isManagement;
    }

    public void setIsManagement(String isManagement) {
        this.isManagement = isManagement;
    }

    @Basic
    @Column(name = "result")
    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    @Basic
    @Column(name = "image")
    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    @Basic
    @Column(name = "collec_person")
    public String getCollecPerson() {
        return collecPerson;
    }

    public void setCollecPerson(String collecPerson) {
        this.collecPerson = collecPerson;
    }

    @Basic
    @Column(name = "unit")
    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    @Basic
    @Column(name = "collec_date")
    public Date getCollecDate() {
        return collecDate;
    }

    public void setCollecDate(Date collecDate) {
        this.collecDate = collecDate;
    }

    @Basic
    @Column(name = "old_fortification_type")
    public String getOldFortificationType() {
        return oldFortificationType;
    }

    public void setOldFortificationType(String oldFortificationType) {
        this.oldFortificationType = oldFortificationType;
    }

    @Basic
    @Column(name = "now_fortification_type")
    public String getNowFortificationType() {
        return nowFortificationType;
    }

    public void setNowFortificationType(String nowFortificationType) {
        this.nowFortificationType = nowFortificationType;
    }

    @Basic
    @Column(name = "house_purpose")
    public String getHousePurpose() {
        return housePurpose;
    }

    public void setHousePurpose(String housePurpose) {
        this.housePurpose = housePurpose;
    }

    @Basic
    @Column(name = "save_status")
    public String getSaveStatus() {
        return saveStatus;
    }

    public void setSaveStatus(String saveStatus) {
        this.saveStatus = saveStatus;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "create_user_Id")
    public String getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    @Basic
    @Column(name = "is_save_all")
    public String getIsSaveAll() {
        return isSaveAll;
    }

    public void setIsSaveAll(String isSaveAll) {
        this.isSaveAll = isSaveAll;
    }

    @Basic
    @Column(name = "is_valid")
    public String getIsValid() {
        return isValid;
    }

    public void setIsValid(String isValid) {
        this.isValid = isValid;
    }

    @Basic
    @Column(name = "sp_type")
    public String getSpType() {
        return spType;
    }

    public void setSpType(String spType) {
        this.spType = spType;
    }

    @Basic
    @Column(name = "task_name")
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Basic
    @Column(name = "structure_type_other")
    public String getStructureTypeOther() {
        return structureTypeOther;
    }

    public void setStructureTypeOther(String structureTypeOther) {
        this.structureTypeOther = structureTypeOther;
    }

    @Basic
    @Column(name = "quality_status")
    public String getQualityStatus() {
        return qualityStatus;
    }

    public void setQualityStatus(String qualityStatus) {
        this.qualityStatus = qualityStatus;
    }

    @Basic
    @Column(name = "quality_reason")
    public String getQualityReason() {
        return qualityReason;
    }

    public void setQualityReason(String qualityReason) {
        this.qualityReason = qualityReason;
    }

    @Basic
    @Column(name = "reason")
    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FwCtiyHouseEntity that = (FwCtiyHouseEntity) o;
        return Objects.equals(fwId, that.fwId) &&
                Objects.equals(taskId, that.taskId) &&
                Objects.equals(buildingCode, that.buildingCode) &&
                Objects.equals(bulidingLongitude, that.bulidingLongitude) &&
                Objects.equals(bulidingLatitude, that.bulidingLatitude) &&
                Objects.equals(bulidingType, that.bulidingType) &&
                Objects.equals(belongtoProvince, that.belongtoProvince) &&
                Objects.equals(belongtoCity, that.belongtoCity) &&
                Objects.equals(belongtoArea, that.belongtoArea) &&
                Objects.equals(belongtoStreet, that.belongtoStreet) &&
                Objects.equals(belongtoTown, that.belongtoTown) &&
                Objects.equals(propertyNature, that.propertyNature) &&
                Objects.equals(belongtoVillage, that.belongtoVillage) &&
                Objects.equals(houseNumber, that.houseNumber) &&
                Objects.equals(areaName, that.areaName) &&
                Objects.equals(buildingName, that.buildingName) &&
                Objects.equals(buildingAddress, that.buildingAddress) &&
                Objects.equals(propertyUnit, that.propertyUnit) &&
                Objects.equals(structureType, that.structureType) &&
                Objects.equals(structureTypeOther, that.structureTypeOther) &&
                Objects.equals(buildingArea, that.buildingArea) &&
                Objects.equals(buildingUpNum, that.buildingUpNum) &&
                Objects.equals(buildingDown, that.buildingDown) &&
                Objects.equals(buildingHight, that.buildingHight) &&
                Objects.equals(buildingTime, that.buildingTime) &&
                Objects.equals(houseNum, that.houseNum) &&
                Objects.equals(presonNum, that.presonNum) &&
                Objects.equals(oldFortificationIntensity, that.oldFortificationIntensity) &&
                Objects.equals(isReform, that.isReform) &&
                Objects.equals(isSeismicReinforce, that.isSeismicReinforce) &&
                Objects.equals(nowFortificationIntensity, that.nowFortificationIntensity) &&
                Objects.equals(isDamage, that.isDamage) &&
                Objects.equals(isManagement, that.isManagement) &&
                Objects.equals(result, that.result) &&
                Objects.equals(image, that.image) &&
                Objects.equals(collecPerson, that.collecPerson) &&
                Objects.equals(unit, that.unit) &&
                Objects.equals(collecDate, that.collecDate) &&
                Objects.equals(oldFortificationType, that.oldFortificationType) &&
                Objects.equals(nowFortificationType, that.nowFortificationType) &&
                Objects.equals(housePurpose, that.housePurpose) &&
                Objects.equals(saveStatus, that.saveStatus) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(createUserId, that.createUserId) &&
                Objects.equals(isSaveAll, that.isSaveAll) &&
                Objects.equals(isValid, that.isValid) &&
                Objects.equals(spType, that.spType) &&
                Objects.equals(taskName, that.taskName) &&
                Objects.equals(qualityStatus, that.qualityStatus) &&
                Objects.equals(qualityReason, that.qualityReason);
    }

    public void setBackOpinion(String backOpinion) {
        this.backOpinion = backOpinion;
    }

    public String getBackOpinion() {
        return backOpinion;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public int hashCode() {
        return Objects.hash(fwId, taskId, buildingCode, bulidingLongitude, bulidingLatitude, bulidingType, belongtoProvince, belongtoCity, belongtoArea, belongtoStreet, belongtoTown, propertyNature, belongtoVillage, houseNumber, areaName, buildingName, buildingAddress, propertyUnit, structureType, structureTypeOther, buildingArea, buildingUpNum, buildingDown, buildingHight, buildingTime, houseNum, presonNum, oldFortificationIntensity, isReform, isSeismicReinforce, nowFortificationIntensity, isDamage, isManagement, result, image, collecPerson, unit, collecDate, oldFortificationType, nowFortificationType, housePurpose, saveStatus, createTime, createUserId, isSaveAll, isValid, spType, taskName, qualityStatus, qualityReason);
    }

    @Override
    public String toString() {
        return "FwCtiyHouseEntity{" +
                "fwId='" + fwId + '\'' +
                ", taskId='" + taskId + '\'' +
                ", buildingCode='" + buildingCode + '\'' +
                ", bulidingLongitude='" + bulidingLongitude + '\'' +
                ", bulidingLatitude='" + bulidingLatitude + '\'' +
                ", bulidingType='" + bulidingType + '\'' +
                ", belongtoProvince='" + belongtoProvince + '\'' +
                ", belongtoCity='" + belongtoCity + '\'' +
                ", belongtoArea='" + belongtoArea + '\'' +
                ", belongtoStreet='" + belongtoStreet + '\'' +
                ", belongtoTown='" + belongtoTown + '\'' +
                ", propertyNature='" + propertyNature + '\'' +
                ", belongtoVillage='" + belongtoVillage + '\'' +
                ", houseNumber='" + houseNumber + '\'' +
                ", areaName='" + areaName + '\'' +
                ", buildingName='" + buildingName + '\'' +
                ", buildingAddress='" + buildingAddress + '\'' +
                ", propertyUnit='" + propertyUnit + '\'' +
                ", structureType='" + structureType + '\'' +
                ", structureTypeOther='" + structureTypeOther + '\'' +
                ", buildingArea=" + buildingArea +
                ", buildingUpNum=" + buildingUpNum +
                ", buildingDown=" + buildingDown +
                ", buildingHight=" + buildingHight +
                ", buildingTime='" + buildingTime + '\'' +
                ", houseNum=" + houseNum +
                ", presonNum=" + presonNum +
                ", oldFortificationIntensity='" + oldFortificationIntensity + '\'' +
                ", isReform='" + isReform + '\'' +
                ", isSeismicReinforce='" + isSeismicReinforce + '\'' +
                ", nowFortificationIntensity='" + nowFortificationIntensity + '\'' +
                ", isDamage='" + isDamage + '\'' +
                ", isManagement='" + isManagement + '\'' +
                ", result='" + result + '\'' +
                ", image='" + image + '\'' +
                ", collecPerson='" + collecPerson + '\'' +
                ", unit='" + unit + '\'' +
                ", collecDate=" + collecDate +
                ", oldFortificationType='" + oldFortificationType + '\'' +
                ", nowFortificationType='" + nowFortificationType + '\'' +
                ", housePurpose='" + housePurpose + '\'' +
                ", saveStatus='" + saveStatus + '\'' +
                ", createTime=" + createTime +
                ", createUserId='" + createUserId + '\'' +
                ", isSaveAll='" + isSaveAll + '\'' +
                ", isValid='" + isValid + '\'' +
                ", spType='" + spType + '\'' +
                ", taskName='" + taskName + '\'' +
                ", qualityStatus='" + qualityStatus + '\'' +
                ", qualityReason='" + qualityReason + '\'' +
                '}';
    }
}
